const path = require("path");
// const CompressionPlugin = require('compression-webpack-plugin')

function resolve(dir) {
  return path.join(__dirname, dir);
}


module.exports = {
  // 如果你不需要生产环境的 source map，可以将其设置为 false 以加速生产环境构建。
  productionSourceMap: false,
  // 生产环境取消 console.log
  configureWebpack: (config) => {
    if (process.env.NODE_ENV === "production") {
      config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true;
    }
  },
  chainWebpack: (config) => {
    //配置路径别名，更好写
    config.resolve.alias
      .set("@$", resolve("src"))
      .set("@api", resolve("src/api"))
      .set("@assets", resolve("src/assets"))
      .set("@comp", resolve("src/components"))
      .set("@views", resolve("src/views"));

    // // 生产环境，开启js\css压缩
    // if (process.env.NODE_ENV === "production") {
    //   config.plugin("compressionPlugin").use(
    //     new CompressionPlugin({
    //       test: /\.(js|css|less)$/, // 匹配文件名
    //       threshold: 10240, // 对超过10k的数据压缩
    //       deleteOriginalAssets: false, // 不删除源文件
    //     })
    //   );
    // }

    // 配置 webpack 识别 markdown 为普通的文件
    config.module
        .rule('markdown')
        .test(/\.md$/)
        .use()
        .loader('file-loader')
        .end()
  },

  css: {
    loaderOptions: {
      less: {
        modifyVars: {
          /* less 变量覆盖，用于自定义 ant design 主题 */
          'primary-color': '#2c2c2c',
          'link-color': 'rgb(49, 70, 89)',
          'border-color-base': '#d9d9d9',
          'border-radius-base': '4px'
        },
        javascriptEnabled: true
      }
    }
  },
  lintOnSave: false,
  publicPath: process.env.NODE_ENV === 'production'
    ? '/mypage/'
    : '/',
  devServer:{
      port:3000,
      proxy: {
        'api': {
          target: 'https://miswestrestaurant.xyz', //mock API接口系统
          ws: false,
          changeOrigin: true,
          pathRewrite: {
            'api': ''  //默认所有请求都加了jeecg-boot前缀，需要去掉
          }
        }
        // '/jeecg-boot': {
        //   target: 'http://localhost:8080', //请求本地 需要jeecg-boot后台项目
        //   ws: false,
        //   changeOrigin: true
        // },
      }
  },
  
  
};
